using System;
using System.Collections.Generic;
using System.Text;
using BTV.Base.Search.Equality;

namespace BTV.Base.Search.SearchTypes
{
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased")]
    public abstract class BTVBaseSearchType
    {
        private object _criteria;

        public object Criteria
        {
            set { _criteria = value; }
            get { return _criteria; }
        }

        public abstract bool IsValid
        {
            get;
        }

        private BaseEqualityOperator _operator;

        public BaseEqualityOperator Operator
        {
            get { return _operator; }
            set { _operator = value; }
        }

        public abstract bool MatchProgramWithCriteria(BTVProgram input);
    }
}
